// 1. 导入express模块
const exp = require('express')
// 2. 创建express服务对象
const app = exp();
// 3. 设置一个中间件

// use使用中间件
// 参数：中间件函数
// 回调函数中有三个参数
// req,res,next
app.use((req,res,next)=>{
    console.log("全局中间件进来了");

    // 加工请求对像和响应对象
    req.abc = 123;

    // 代码响应统一处理
    res.set('a',123);


    // 响应处理
    // res.send('这是中间件给的答复');


    // 执行next函数
    next()
})
    // 3.1 use不限制请求方式
    // 3.2 use省略第一个参数，不限制请求地址
    // 3.3 “/info” 开头的执行中间件

// 指定某个路由下执行此中间件
app.use('/list',(req,res,next)=>{
    console.log("list下的中间件");
    next()
});

app.get('/list',(req,res)=>{

    res.send('列表页进来了');
})



app.get('/',(req,res)=>{


    console.log(req.abc);

    res.send('首页进来了');
})





    
// 4. 监听一个端口号，并启动服务
app.listen(80,()=>{
    console.log("成功");
});